package OperationSystem.MultiplyThread;

import java.util.Scanner;

public class Thread_adv_zusechangjing {
    //时间复杂度：O（2^n）
    private static long fib(int n){
        if (n<2){
            return n;
        }
    return fib(n-1)+fib(n-2);
    }

    private static class FibThread extends Thread{//专门计算斐波那契数列的线程
        private int n;

        FibThread(int n){
            this.n=n;
        }

        @Override
        public void run() {
            System.out.println(fib(n));
        }
    }

    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        while (true){
            int n=scanner.nextInt();
            //System.out.println(fib(n)); 这是在主线程进行计算

            //重新启动一个线程去计算fib(n)
            //主线程去读取下一个数
            FibThread thread=new FibThread(n);
            thread.start();
        }
    }
}
